From 040b7e64dea624408724e6d2d722d4a1b50c35f1 Mon Sep 17 00:00:00 2001 From: TheAssassin Date: Mon, 25 Nov 2024 05:01:02 +0100 Subject: [PATCH] [PATCH] Install gtest from distro Allows us to remove the custom install scripts from CMake. Gbp-Pq: Name upstream_Install-gtest-from-distro.patch --- .gitmodules | 3 --- CMakeLists.txt | 1 - ci/install-deps.sh | 1 + cmake/dependencies.cmake | 7 ++++++- lib/CMakeLists.txt | 13 ------------- tests/libappimage/CMakeLists.txt | 2 +- .../libappimage/desktop_integration/CMakeLists.txt | 4 ++-- tests/libappimage/legacy/CMakeLists.txt | 2 +- 8 files changed, 11 insertions(+), 22 deletions(-) delete mode 100644 .gitmodules delete mode 100644 lib/CMakeLists.txt diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index cd6332f..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "lib/gtest"] - path = lib/gtest - url = https://github.com/google/googletest.git diff --git a/CMakeLists.txt b/CMakeLists.txt index b432ed3..e52810f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,6 @@ endif() # used by e.g., Debian packaging infrastructure include(GNUInstallDirs) -add_subdirectory(lib) add_subdirectory(src) if(BUILD_TESTING) diff --git a/ci/install-deps.sh b/ci/install-deps.sh index 2f2e45e..d9a767c 100755 --- a/ci/install-deps.sh +++ b/ci/install-deps.sh @@ -58,6 +58,7 @@ packages=( cmake lcov gcovr + libgtest-dev ) apt-get update diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake index a1509c9..cd625c9 100644 --- a/cmake/dependencies.cmake +++ b/cmake/dependencies.cmake @@ -1,5 +1,6 @@ # >= 3.2 required for ExternalProject_Add_StepDependencies -cmake_minimum_required(VERSION 3.2) +# >= 3.20 for FindGTest IMPORTED target +cmake_minimum_required(VERSION 3.20) include(${CMAKE_CURRENT_LIST_DIR}/scripts.cmake) @@ -36,6 +37,10 @@ set(LDFLAGS ${DEPENDENCIES_LDFLAGS}) set(USE_SYSTEM_XZ OFF CACHE BOOL "Use system xz/liblzma instead of building our own") +if(BUILD_TESTING) + find_package(GTest REQUIRED) +endif() + if (NOT LIBAPPIMAGE_SHARED_ONLY) if(NOT USE_SYSTEM_XZ) message(STATUS "Downloading and building xz") diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt deleted file mode 100644 index 4daa663..0000000 --- a/lib/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -cmake_minimum_required(VERSION 3.0) - -include(CTest) - -if(BUILD_TESTING) - if(NOT TARGET gtest) - if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/gtest) - add_subdirectory(gtest EXCLUDE_FROM_ALL) - else() - message(FATAL_ERROR "gtest submodule not found; please call git submodule update --init or disable the unit tests using -DBUILD_TESTING=OFF") - endif() - endif() -endif() diff --git a/tests/libappimage/CMakeLists.txt b/tests/libappimage/CMakeLists.txt index a5b4b52..c0551a4 100644 --- a/tests/libappimage/CMakeLists.txt +++ b/tests/libappimage/CMakeLists.txt @@ -23,7 +23,7 @@ if (NOT LIBAPPIMAGE_SHARED_ONLY) ) target_include_directories(test_libappimage++ PRIVATE "${PROJECT_SOURCE_DIR}/src/libappimage") - target_link_libraries(test_libappimage++ libappimage Boost::filesystem libarchive libsquashfuse XdgUtils::DesktopEntry XdgUtils::BaseDir gtest gtest_main) + target_link_libraries(test_libappimage++ libappimage Boost::filesystem libarchive libsquashfuse XdgUtils::DesktopEntry XdgUtils::BaseDir GTest::gtest GTest::gtest_main) add_test(test_libappimage++ test_libappimage++) endif() diff --git a/tests/libappimage/desktop_integration/CMakeLists.txt b/tests/libappimage/desktop_integration/CMakeLists.txt index a5296f7..d76bd4a 100644 --- a/tests/libappimage/desktop_integration/CMakeLists.txt +++ b/tests/libappimage/desktop_integration/CMakeLists.txt @@ -39,8 +39,8 @@ target_link_libraries( # statically once glib is loaded. PRIVATE libglib PUBLIC dl - PRIVATE gtest - PRIVATE gtest_main + PRIVATE GTest::gtest + PRIVATE GTest::gtest_main PRIVATE librsvg PRIVATE libcairo ) diff --git a/tests/libappimage/legacy/CMakeLists.txt b/tests/libappimage/legacy/CMakeLists.txt index 874d92d..f2a57a5 100644 --- a/tests/libappimage/legacy/CMakeLists.txt +++ b/tests/libappimage/legacy/CMakeLists.txt @@ -4,7 +4,7 @@ set_property(TARGET fixtures PROPERTY INTERFACE_LINK_LIBRARIES xdg-basedir gtest if (NOT LIBAPPIMAGE_SHARED_ONLY) add_executable(test_libappimage test_libappimage.cpp) - target_link_libraries(test_libappimage fixtures libappimage libsquashfuse libglib libgobject gtest gtest_main) + target_link_libraries(test_libappimage fixtures libappimage libsquashfuse libglib libgobject GTest::gtest GTest::gtest_main) add_executable(test-xdg-basedir test-xdg-basedir.cpp) target_link_libraries(test-xdg-basedir fixtures xdg-basedir) -- 2.30.2